home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 21 / AACD 21.iso / AACD / Graphics / SMan / MorphOS / ReadMe.First < prev    next >
Encoding:
Text File  |  2001-03-29  |  5.2 KB  |  116 lines

  1. I gave up waiting for a G4 card and finally got a replacement for my dead
  2. CSPPC card.  Now I'm updating some of my previous work.
  3.  
  4. Note that the current development has been done under AmigaOS 3.9, and
  5. WarpOS version 16 of the PowerPC.library (version 5.0 of Warp.library).
  6. I haven't tested this under earlier versions, but don't believe I've
  7. made any changes that would cause a failure under earlier systems.
  8.  
  9.  
  10. This archive SManMOSB2.lha contains the following files:
  11.  
  12. 1)    This ReadMe.First file
  13. 2)    SMan.guide  (It hasn't been revised and may not be accurate.)
  14. 3)    SManMOS and SManMOS.info
  15.  
  16. In the Source directory
  17. 4)    SManMOS.c   This and TGmos.asm provide a kludge to determine CPU
  18.       clock frequency.
  19. 5)    Packer.c
  20. 6)    Save.c
  21. 7)    LUP2.c   (C source for the algorithm than handles fractional powers,
  22.       and powers greater than 7.
  23. 8)    ULP2mos.asm - ULP7mos.asm (asm source for the Mandelbrot algorithm,
  24.       that decides on the pixel color)
  25. 9)    TGMos.asm   Does timing.
  26. 10)    LinkMOS     Used instead of a makefile.
  27.  
  28. The following in the Source directory are not actually used in this release,
  29. but were part of the development process.  They aren't included here, but
  30. are available in the SManWOSB2.lha archive.
  31.  
  32.       ULP2.c      Handled the n = 2 part of the Mandelbrot algorithm.
  33.       ULP2.asm.org      The output of vbcc from ULP2.c
  34.       UseLib.c    Not actually used in this version, but was a part of
  35.       earlier versions.  It has been used as a model for ULP3.asm through
  36.       ULP7.asm.
  37.  
  38. The source directory has only been included for educational purposes.
  39.  
  40. There are certain differences between assembler directives for MorphOS
  41. and WarpOS PPC code, at least with vbcc.  I learned those differences by
  42. using vbcc to produce the assembler code and comparing it with that for
  43. WarpOS.  Most notably, register names are only identified by number, and
  44. not type.  For example, both r1 and f1 are simply 1.  Which kind is
  45. determined by context.  For example, fmul 1,2,1 instead of fmul f1,f2,f1,
  46. or addi 1,1,3 instead of addi r1,r1,3.
  47.  
  48. Note that this is my first release of anything that runs under MorphOS.
  49. Note also that I've been using vbcc for the MorphOS version of SMan.
  50. Save.c (and possibly Packer.c) contains includes probably not in the
  51. standard include:, which was from Sas version 6.58 for me.
  52.  
  53.  
  54. My special thanks to the following people/companies that have made this
  55. possible:
  56.  
  57.  
  58.       Phase 5 for having designed the CyberStormPPC that I'm using in this
  59.       development (and DCE for making the replacement card).  We need
  60.       companies to continue with hardware manufacture for the Amiga.
  61.  
  62.       The MorphOS team for releasing the beta versions of MorphOS. Special
  63.       thanks to Frank Mariak for his always helpful answers to my questions.
  64.  
  65.       Frank Wille for the release of the MorphOS versions of vbcc, and his
  66.       help in the details of linking assembler code with C code using it.
  67.  
  68.       Note that before starting on the conversion for SMan to WarpOS, I'd
  69.       never done any assembler programming for the PowerPC chip.  My work
  70.       on this was done by starting with the asm code generated by vbcc and
  71.       editing it to work more efficiently than that generated by vbcc.
  72.       This has provided a significant, although not overwhelming
  73.       improvement in speed.  That is, image generation is typically
  74.       between 3 and 4 times as fast with the tweaked assembler code, as
  75.       otherwise.  This may still not be as fast as Cybermand(I assume by
  76.       Sam Jordan, or his colleagues), but is reasonably fast, and should
  77.       work on the Workbench with any color depth.  I don't have an AGA
  78.       Amiga and don't know about whether it works in that mode, but it does
  79.       work in any CyberGraphX mode, and even works with 16 color NTSC High
  80.       Res Laced.  I wouldn't recommend that though, as it's so much slower
  81.       than CyberGraphX, not to mention the limitation in colors.
  82.       Futhermore, it's limited to one palette, and a rather poor one at
  83.       that.
  84.  
  85.       The assembler work has been extended to include z^n + z -> z for
  86.       n < 8 algorithms.  LUP2.c has not been converted, as the biggest
  87.       slow-down is with the transcendental functions (primarily arctan), and
  88.       it's unlikely that I could improve that significantly over the math
  89.       library used by MorphOS.
  90.  
  91.       Note that I'd also like to thank CyberGraphX, and especially Frank
  92.       Mariak, who has always been helpful in answering questions about
  93.       CyberGraphics.
  94.  
  95.       Note that when using a Workbench with a CyberGraphX screen of more
  96.       than 8 bit depth, the image is displayed only when the complete image
  97.       has been generated within a buffer, whereas with a depth of 8 or less,
  98.       the image is updated at the end of each scan line within the window.
  99.       In the former case, the function WritePixelArray is used to display
  100.       the image, and in the latter, WritePixelLine8 is used.
  101.  
  102.       Please tell me whether or not SManMOSB2 works on your system.
  103.       I would be interested as to whether it works on other PowerPC cards
  104.       than those by Phase 5 as well.
  105.  
  106. Note that all timing for the generation of the image is only for processing
  107. time, and not display time.
  108.  
  109.  
  110.  
  111.       E-mail to me (dmckinstry@ewu.edu) any reports, questions, etc.
  112.  
  113.       Thanks,
  114.  
  115.       Dave McKinstry
  116.